package cz.muni.fi.pa165.musiclibrary.musiclibraryws;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

/**
 *
 * @author Maros Kucbel
 * @date 2012-12-06T15:50:50+0100
 */
@WebService(targetNamespace = "urn:fi.muni.cz/pa165/musiclibrary")
public interface MusicLibraryWS {
    
    @WebMethod
    WSGenre getGenre(@WebParam(name="idGenre") Long idGenre) throws MusicLibraryException;
    
    @WebMethod
    List<WSGenre> getGenres() throws MusicLibraryException;
    
    @WebMethod
    void updateGenre(@WebParam(name="genre") WSGenre genre) throws MusicLibraryException;
    
    @WebMethod
    void deleteGenre(@WebParam(name="genre") WSGenre genre) throws MusicLibraryException;
    
    @WebMethod
    void createGenre(@WebParam(name="genre") WSGenre genre) throws MusicLibraryException;
    
    @WebMethod
    WSArtist getArtist(@WebParam(name="idArtist") Long idArtist) throws MusicLibraryException;
    
    @WebMethod
    List<WSArtist> getArtists() throws MusicLibraryException;
    
    @WebMethod
    void updateArtist(@WebParam(name="artist") WSArtist artist) throws MusicLibraryException;
    
    @WebMethod
    void deleteArtist(@WebParam(name="artist") WSArtist artist) throws MusicLibraryException;
    
    @WebMethod
    void createArtist(@WebParam(name="artist") WSArtist artist) throws MusicLibraryException;
    
    @WebMethod
    void login(@WebParam(name="userName") String userName, @WebParam(name="password") String password) throws MusicLibraryException;
}
